package com.supermap.ipfs;

/**
 * @author liqs
 * @version 1.0
 * @date 2021/10/11 15:42
 *  ipfs 连接持久化使用，不用每次都初始化一个新的
 */
public class IpfsConnection {

    private static String ipfsIp = "";
    private static String ipfsPort = "";
    private static IpfsClient ipfsClient = null;

    public static IpfsClient getIpfsClient(String ipfsIp, String ipfsPort) {
        if (ipfsClient == null) {
            ipfsClient = new IpfsClient(ipfsIp, ipfsPort);
            return ipfsClient;
        } else {
            String ipfsIp1 = ipfsClient.getIpfsIp();
            String ipfsPort1 = ipfsClient.getIpfsPort();
            if (ipfsIp1.equals(ipfsIp) && ipfsPort1.equals(ipfsPort)) {
                return ipfsClient;
            } else {
                return new IpfsClient(ipfsIp, ipfsPort);
            }
        }
    }

    public void getIpfsClient() {
        // TODO 建立一个 ipfs 的连接池，连接不同的ipfs节点，根据地址和端口进行统一识别保存
        //  上述的方法只能保持在同一个连接时减少创建的效率，当多个同时使用时也会反复进行创建  后期需要考虑多个备份节点的情况？当然，目前一个就好
        //  add by liqs 20211011
    }
}
